package com.hqq.exercise.greedy;

/**
 * LongestDistance 最大差值
 * 题目描述:
 * 有一个长为n的数组A，求满足 0 ≤ a ≤ b < n的A[b]-A[a]的最大值。
 * 给定数组A及它的大小n，请返回最大差值。
 * 样例输入:
 * [10,5]
 * 样例输出:
 * 0
 * Created by heqianqian on 2017/8/26.
 */
public class LongestDistance {

    public static int getDis(int[] array, int n) {
        if (array == null || array.length == 0 || n < 0 || n > array.length) {
            throw new IllegalArgumentException();
        }
        int dis = 0;
        if (n > 1) {
            int min = array[0];
            for (int i = 1; i < array.length; i++) {
                if (array[i] - min > dis) {
                    dis = array[i] - min;
                }
                if (min > array[i]) {
                    min = array[i];
                }
            }
        }
        return dis;
    }

}
